package edu.gmu.dglidde2.ece612.scheduler;

/**
 * Exception used by a scheduler to indicate that scheduling failed because the
 * scheduling algorithm was unable to find a feasible schedule.
 * 
 * @author Doug Glidden
 */
public class NoFeasibleScheduleException extends Exception {
	private static final long serialVersionUID = 1L;

	/**
	 * Constructs a {@code NoFeasibleScheduleException} with the specified
	 * detail message.
	 * 
	 * The cause is not initialized and may subsequently be initialized by a
	 * call to {@link Throwable#initCause(Throwable)}.
	 * 
	 * @param message
	 *            the detail message.
	 */
	public NoFeasibleScheduleException(String message) {
		super(message);
	}

	/**
	 * Constructs a {@code NoFeasibleScheduleException} with the specified
	 * detail message and cause.
	 * 
	 * Note that the detail message associated with {@code cause} is
	 * <em>not</em> automatically incorporated in this
	 * {@code NoFeasibleScheduleException}'s detail message.
	 * 
	 * @param message
	 *            the detail message.
	 * @param cause
	 *            the cause. A {@code null} value is permitted, and indicates
	 *            that the cause is nonexistent or unknown.
	 */
	public NoFeasibleScheduleException(String message, Throwable cause) {
		super(message, cause);
	}

}
